package com.xtck.ha.fault.core.model;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.xtck.ha.common.core.annotation.*;
import com.xtck.ha.common.core.web.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;

/**
* @ClassName: DsFMEAInfo
* @Description: 实体类
* @author liuyuan
* @date 2025-07-02
*/
@Data
@ApiModel(description = "")
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value="FMEA_INFO")
public class DsFMEAInfo extends BaseEntity {
        @IgnoreProperty
        private static final long serialVersionUID = 1L;
        /**
        * id
        */
        @JsonSerialize(using = ToStringSerializer.class)
        @ApiModelProperty("id")
        @Excel(name = "id")
        private Long id;
        /**
        * 失效种类
        */
        @ApiModelProperty("失效种类")
        @Excel(name = "失效种类")
        private String failureMode;
        /**
        * 造成的影响
        */
        @ApiModelProperty("造成的影响")
        @Excel(name = "造成的影响")
        private String effect;
        /**
        * 严重性
        */
        @ApiModelProperty("严重性")
        @Excel(name = "严重性")
        private Integer severity;
        /**
        * 失效原因
        */
        @ApiModelProperty("失效原因")
        @Excel(name = "失效原因")
        private String cause;
        /**
        * 失效发生概率
        */
        @ApiModelProperty("失效发生概率")
        @Excel(name = "失效发生概率")
        private String occurrence;
        /**
        * 当前工序控制方法
        */
        @ApiModelProperty("当前工序控制方法")
        @Excel(name = "当前工序控制方法")
        private String currentProcessControlPlan;
        /**
        * 检测失效的能力
        */
        @ApiModelProperty("检测失效的能力")
        @Excel(name = "检测失效的能力")
        private String detection;
        /**
        * 风险优先指数
        */
        @ApiModelProperty("风险优先指数")
        @Excel(name = "风险优先指数")
        private Integer rpn;
        /**
        * 改善方案
        */
        @ApiModelProperty("改善方案")
        @Excel(name = "改善方案")
        private String recommendedAction;
        /**
        * 创建时间
        */
        @ApiModelProperty("创建时间")
        @Excel(name = "创建时间")
        private Date createTime;
        /**
        * 故障推断任务id
        */
        @ApiModelProperty("故障推断任务id")
        @Excel(name = "故障推断任务id")
        private Long taskId;
        /**
        * 故障推断起始时间
        */
        @ApiModelProperty("故障推断起始时间")
        @Excel(name = "故障推断起始时间")
        private Date startTime;
        /**
        * 故障推断结束时间
        */
        @ApiModelProperty("故障推断结束时间")
        @Excel(name = "故障推断结束时间")
        private Date endTime;

}
